////////////////////////////////////////////////////////////////////////////////////////////////////
/// @file   CollabRCBot\DiffLine.h
///
/// @brief  Declares the CollabRC::Bot::DiffLine class
////////////////////////////////////////////////////////////////////////////////////////////////////

#pragma once
#include <QtCore/QString>
#include "exceptions.h"

namespace CollabRC
{
    namespace Bot
    {
        /**
         * @brief Represents a single line change between two revisions
         * of a page. 
         *
         * A line change represents either a removed line, an added line,
         * or both. In the case of "both", the added and removed lines may
         * be substantially similar with only a minor alteration between
         * the two. 
         * @version $Id$
         * @author Matthew P. Del Buono
         */
        class DiffLine
        {
        private:
            QString m_removed, m_added;
        public:
            DiffLine(const QString& removed, const QString& added);
            DiffLine(const DiffLine& copy);
            ~DiffLine(void);

            const DiffLine& operator=(const DiffLine &rhs);
            const QString& GetRemovedLine() const;
            const QString& GetAddedLine() const;
        };
    }
}
